<?php
/**
 * Project: Recipe
 * File: UserModel.class.php
 * Author: Xnfy520@gmail.com
 * Date: 12-5-28
 * Time: 上午10:54
 */

class UserModel extends RelationModel{

	protected $_validate = array(
		array('username', 'require', '用户名不能为空', 1, 'regex', 1),
		array('username', 'username', '用户名已经存在', 1, 'unique', 1),
		array('password', 'require','密码不能为空', 1, 'regex', 1),
		array('cpassword', 'require','重复密码不能为空', 1, 'regex', 1),
		array('cpassword', 'password','两次输入密码不能一致', 1, 'confirm', 1),
		array('email', 'require', '电子邮箱不能为空', 1, 'regex',1),
		array('email', '', '电子邮箱已经存在', 1, 'unique', 1),
		array('email', 'email', '电子邮箱格式不正确', 1, 'regex', 1),
		array('code', 'require', '验证码不能为空', 1, 'regex', 1),
		array('check', 'require', '未同意协议不能注册', 1, 'regex', 1),
	);

	protected $_auto = array(
		array('uniqid', '_getuniqid', 1, 'callback'),
		array('regdate', 'time', 1, 'function'), //注册时间
		array('logindate', 'time', 3, 'function'), //最后登录时间
		array('regip', '_getIP', 1, 'callback'), //注册IP
		array('loginip', '_getIP', 3, 'callback'), //最后登录IP
		array('password','md5',1,'function'), //密码MD5
		array('nickname','username',1,'field'),
		array('status',0,1),
	);

	protected function _getIP(){
		return $_SERVER['REMOTE_ADDR'];
	}

	protected function _getuniqid(){
		return md5(time());
	}

	protected $_link = array(
		'RoleUser' => array(
			'mapping_type'=>HAS_ONE,
			'mapping_name'=>'roleuser',
			'class_name'=>'RoleUser',
			'foreign_key'=>'userid',
		),
	);

}